
package Negocio;

import Datos.ProductoDB;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;


public class Producto {
    private int id;
    private String nombre;
    private int cantidad; 
    private double precio;  
    private Proveedor proveedor = new Proveedor();
 //   private int numCompras;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public int getCantidad() {
        return cantidad;
    }

    public void setCantidad(int cantidad) {
        this.cantidad = cantidad;
    }

    public double getPrecio() {
        return precio;
    }

    public void setPrecio(double precio) {
        this.precio = precio;
    }

    public Proveedor getProveedor() {
        return proveedor;
    }

    public void setProveedor(Proveedor proveedor) {
        this.proveedor = proveedor;
    }    

  /*  public int getNumCompras() {
        return numCompras;
    }

    public void setNumCompras(int numCompras) {
        this.numCompras = numCompras;
    }*/
    
    
    
        public void grabar() {
        try {
            ProductoDB pro = new ProductoDB();
            pro.grabar(this);
            JOptionPane.showMessageDialog(null, "Datos Agregados");
        } catch (SQLException ex) {
            JOptionPane.showMessageDialog(null, "Faltan datos por ingresar");
        }
    }

    public void modificar() {
        try {
            ProductoDB productoDB = new ProductoDB();
            productoDB.modificar(this);
            JOptionPane.showMessageDialog(null, "Datos modificados exitosamente");
        } catch (SQLException ex) {
            JOptionPane.showMessageDialog(null, "No se pudieron modificar los datos");
        }
    }

   /* public void eliminar() {
        try {
            ProductoDB productoDB = new ProductoDB();
            productoDB.eliminar(this.id);
            JOptionPane.showMessageDialog(null, "Datos eliminados exitosamente");
        } catch (SQLException ex) {
            JOptionPane.showMessageDialog(null, "No se pudieron eliminar los datos");
        }
    }*/

    public void buscar() {
        try {
            Producto aux;
            ProductoDB prodDB = new ProductoDB();
            aux = prodDB.buscar(this.id);
            setNombre(aux.getNombre());
            setCantidad(aux.getCantidad());
            setPrecio(aux.getPrecio());
            
        } catch (SQLException ex) {
                       
            JOptionPane.showMessageDialog(null, "No existe un producto con esa id");
            this.cantidad = 0;
            this.nombre = null;
            this.precio = 0;        
        } 
    }
    
    public void buscarNombre() {
        try {
            Producto aux;
            ProductoDB prodDB = new ProductoDB();
            aux = prodDB.buscarNombre(this.nombre);
            setNombre(aux.getNombre());
            setCantidad(aux.getCantidad());
            setPrecio(aux.getPrecio());
            
        } catch (SQLException ex) {
                       
            JOptionPane.showMessageDialog(null, "No existe un producto con esa id");
            this.cantidad = 0;
            this.nombre = null;
            this.precio = 0;        
        } 
    }
}
